package com.ruoyi.school.service;

import com.ruoyi.school.domain.PacAcademicOutputParticipation;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.school.domain.vo.AcademicOutputParticipationListVo;

import java.util.List;

/**
* @author jeremylin
* @description 针对表【pac_academic_output_participation(学术成果参与表)】的数据库操作Service
* @createDate 2025-07-10 08:52:56
*/
public interface PacAcademicOutputParticipationService extends IService<PacAcademicOutputParticipation> {

    /**
     * 参与
     * @param pacAcademicOutput
     * @return
     */
    boolean join(PacAcademicOutputParticipation pacAcademicOutput);

    /**
     * 获取参与人员
     * @param pacActualOutputId
     * @return
     */
    List<AcademicOutputParticipationListVo> getParticipants(Long pacActualOutputId);

    /**
     * 删除参与人员
     * @param id
     */
    void delete(Long id);

    /**
     * 获取详情
     *
     * @param id
     * @return
     */
    PacAcademicOutputParticipation details(Long id);

    /**
     * 通过审核的数量
     * @return
     */
    long countByAudit();

    /**
     * 将参与人员弄成参与状态
     * @param id
     */
    void updateParticipantState(Long id);

    /**
     * 查询团队成员ids
     * @param id
     * @return
     */
    List<Long> selectMemberIds(Long id);

    /**
     * 删除参与人员
     * @param id
     */
    void deleteByOutPutId(Long id);
}
